document.querySelector('.json').addEventListener('change', function (e) {   //选择文件后执行
    let files = e.target.files;
    if (files.length == 0) return;
    let file = files[0];
    let reader = new FileReader();
    reader.readAsBinaryString(file);
    reader.onload = function (e) {   //处理load事件。读取操作完成时触发。
        let data = e.target.result;
        console.log('data')
        console.log(data)
        let workbook = XLSX.read(data, { type: 'binary' }); //XLSX：/xlsx.core.min.js 通过XLSX.read(data, {type: type})方法读取excel 后面介绍
        let sheetNames = workbook.SheetNames; // 工作表名称集合
        let worksheet = workbook.Sheets[sheetNames[0]]; // 这里我们只读取第一张sheet 
        console.log('worksheet');
        console.log(worksheet);
        let json = XLSX.utils.sheet_to_json(worksheet); //  读取workbook  这里可以自己写方法输出表格 这里建议使用XLSX.utils.工具类输出数据   这里以json格式输出数据 还有其他格式 代码后介绍
        console.log("json")
        console.log(json)
        if (typeof (callback) == "function") callback(json);   //回调 
        document.querySelector('.json').value = null; //读取后清空
    }
})
//导入json
/* 需要导出的JSON数据 */
function importJsonData() {
    var data = [
        { "name": "John", "city": "Seattle" },
        { "name": "Mike", "city": "Los Angeles" },
        { "name": "Zach", "city": "New York" }
    ];

    /* 创建worksheet */
    var ws = XLSX.utils.json_to_sheet(data);

    /* 新建空workbook，然后加入worksheet */
    var wb = XLSX.utils.book_new();
    XLSX.utils.book_append_sheet(wb, ws, "People");

    /* 生成xlsx文件 */
    // XLSX.writeFile(wb, "sheetjs.xlsx");
    var data = XLSX.utils.sheet_to_html(ws);
    /* 调用数据转换方法将数据格式转换成Luckysheet格式*/
    readFile(data);
    
}

//导出json
function exportJsonFile() {
    let allSheetData = luckysheet.getluckysheetfile();
    let sheet1 = allSheetData[0];
    let downOriginData = sheet1.data;
    // 该方法会返回一个数组结构，其中包含了我们所创建的所有的sheet数据
    // allSheetData = [{sheet1},{sheet2},{sheet3}]
    let arr = [];  // 所有的单元格数据组成的二维数组
    let bgConfig = {};
    let percentageReg = /%$/;
    let cellValue = null;
    // 获取单元格的背景色
    function setBackground(row, col, bg) {
        var colA = luckysheet.luckysheetchatatABC(col);
        var key = colA + (row + 1);
        bgConfig[key] = bg.replace(/\#?/, '');
    }

    // 判断值类型是否为百分比 %
    function isPercentage(value) {
        return percentageReg.test(value.m) && value.ct && value.ct.t === 'n'
    }

    // 获取二维数组
    for (let row = 0; row < downOriginData.length; row++) {
        let arrRow = [];
        for (let col = 0; col < downOriginData[row].length; col++) {
            if (cellValue = downOriginData[row][col]) {
                // 处理单元格的背景颜色
                if (cellValue.bg) {
                    setBackground(row, col, cellValue.bg)
                }
                if (cellValue.ct != null && cellValue.ct.t == 'd') {
                    //  d为时间格式  2019-01-01   或者2019-01-01 10:10:10
                    arrRow.push(new Date(cellValue.m.replace(/\-/g, '/'))) //兼容IE
                } else if (cellValue.m && isPercentage(cellValue)) {
                    //百分比问题
                    arrRow.push(cellValue.m)
                } else {
                    arrRow.push(cellValue.v)
                }
            }
        }
        arr.push(arrRow)
    }
    let opts = {
        dateNF: 'm/d/yy h:mm',
        cellDates: true,
        cellStyles: true
    }
    let ws = XLSX.utils.aoa_to_sheet(arr, opts)
    let jsondata = XLSX.utils.sheet_to_json(ws)
    console.log(jsondata)

}